#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
const int mx=4e6+10;
struct node{
int x,y;
ll w;
}s[mx];
vector<int>e[mx];
int f[mx],a[mx],b[mx],k[mx],vis[mx];
int n,tot,c,cnt;
ll ans;
void init(){
ans=cnt=0;
tot=1;
memset(vis,0,sizeof(vis));
for(int i=0;i<=n;i++)
f[i]=i;
}
int find(int x)
{
return x==f[x]?f[x]:f[x]=find(f[x]);
}
bool cmp(node a,node b)
{
return a.w<b.w;
}
int main(){
scanf("%d",&n);
init();
for(int i=1;i<=n;i++)
scanf("%d%d",&a[i],&b[i]);
for(int i=1;i<=n;i++)
{
scanf("%d",&c);
s[tot].x=0;
s[tot].y=i;
s[tot].w=c;
tot++;
}
for(int i=1;i<=n;i++)
scanf("%d",&k[i]);
for(int i=1;i<=n;i++)
{
for(int j=i+1;j<=n;j++)
{
s[tot].x=i;
s[tot].y=j;
s[tot].w=1ll*(abs(a[i]-a[j])+abs(b[i]-b[j]))*(k[i]+k[j]);
tot++;
}
}
sort(s+1,s+tot,cmp);
for(int i=1;i<tot;i++)
{
int fx=find(s[i].x),fy=find(s[i].y);
if(fx!=fy)
{
if(s[i].x==0)
{
vis[s[i].y]=1;
cnt++;
}
else
e[s[i].x].push_back(s[i].y);
ans+=s[i].w;
f[fy]=fx;
}
}
printf("%I64d\n",ans);
printf("%d\n",cnt);
for(int i=1;i<=n;i++) if(vis[i]) printf("%d ",i);
printf("\n");
printf("%d\n",n-cnt);
for(int i=1;i<=n;i++)
{
for(int j=0;j<e[i].size();j++)
printf("%d %d\n",i,e[i][j]);
}
return 0;
}
437. Path Sum III | 436. Find Right Interval |
435. Non-overlapping Intervals | 406. Queue Reconstruction by Height |
380. Insert Delete GetRandom O(1) | 332. Reconstruct Itinerary |
368. Largest Divisible Subset | 377. Combination Sum IV |
322. Coin Change | 307. Range Sum Query - Mutable |
287. Find the Duplicate Number | 279. Perfect Squares |
275. H-Index II | 274. H-Index |
260. Single Number III | 240. Search a 2D Matrix II |
238. Product of Array Except Self | 229. Majority Element II |
222. Count Complete Tree Nodes | 215. Kth Largest Element in an Array |
198. House Robber | 153. Find Minimum in Rotated Sorted Array |
150. Evaluate Reverse Polish Notation | 144. Binary Tree Preorder Traversal |
137. Single Number II | 130. Surrounded Regions |
129. Sum Root to Leaf Numbers | 120. Triangle |
102. Binary Tree Level Order Traversal | 96. Unique Binary Search Trees |